//
//  ZXY_ChangeUserInfoVC.m
//  LawProjection
//
//  Created by 宇周 on 14/11/6.
//  Copyright (c) 2014年 duostec. All rights reserved.
//

#import "ZXY_ChangeUserInfoVC.h"

@interface ZXY_ChangeUserInfoVC ()<UITextFieldDelegate>
{
    NSString *_origialValue;
    NSString *_dbKey;
    BOOL      _isNum;
}
@end

@implementation ZXY_ChangeUserInfoVC

- (void)viewDidLoad {
    [super viewDidLoad];
    self.changeText.delegate = self;
    self.changeText.text = _origialValue;
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    [self.changeText becomeFirstResponder];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)setChangeInfo:(NSString *)originalValue withKey:(NSString *)dbKey isNum:(BOOL)isNum;
{
    _origialValue = originalValue;
    _dbKey        = dbKey;
    _isNum        = isNum;
}

- (IBAction)changeAction:(id)sender {
    if(_isNum)
    {
        if(![self isMobileNumber:self.changeText.text])
        {
            [self showAlertWarnningView:@"提示" andContent:@"请输入正确的电话号码"];
            return;
        }
    }
    if([self.delegate respondsToSelector:@selector(changeUserInfo:withKey:)])
    {
        [self.delegate changeUserInfo:self.changeText.text withKey:_dbKey];
    }
    [self.navigationController popViewControllerAnimated:YES];
}

- (BOOL)isMobileNumber:(NSString *)mobileNum
{
    /**
     * 手机号码
     * 移动：134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
     * 联通：130,131,132,152,155,156,185,186
     * 电信：133,1349,153,180,189
     */
    NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
    /**
     10         * 中国移动：China Mobile
     11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
     12         */
    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
    /**
     15         * 中国联通：China Unicom
     16         * 130,131,132,152,155,156,185,186
     17         */
    NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";
    /**
     20         * 中国电信：China Telecom
     21         * 133,1349,153,180,189
     22         */
    NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";
    /**
     25         * 大陆地区固话及小灵通
     26         * 区号：010,020,021,022,023,024,025,027,028,029
     27         * 号码：七位或八位
     28         */
    // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
    
    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
    NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
    NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
    NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];
    
    if (([regextestmobile evaluateWithObject:mobileNum] == YES)
        || ([regextestcm evaluateWithObject:mobileNum] == YES)
        || ([regextestct evaluateWithObject:mobileNum] == YES)
        || ([regextestcu evaluateWithObject:mobileNum] == YES))
    {
        return YES;
    }
    else
    {
        return NO;
    }
}

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if(_isNum)
    {
        if([self isUserInputNum:string])
        {
            return YES;
        }
        else
        {
            return NO;
        }
    }
    return YES;
}

- (BOOL)isUserInputNum:(NSString *)checkString
{
    BOOL isNum = YES;
    NSCharacterSet *checkSet = [NSCharacterSet characterSetWithCharactersInString:ZXY_VALUES_NUMBER];
    int i = 0;
    while (i<checkString.length) {
        
        NSString *rangeString = [checkString substringWithRange:NSMakeRange(i, 1)];
        NSRange  subRange     = [rangeString rangeOfCharacterFromSet:checkSet];
        if(subRange.length == 0)
        {
            isNum = NO;
            break;
        }
        i++;
    }
    return isNum;
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
